﻿using MiniFox.Resources;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;

namespace MiniFox.Platform.File.Models
{
    /// <summary>
    /// 
    /// </summary>
    [JsonObject]
    public class DownloadRequest
    {
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("fileName")]
        public string FileName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("context")]
        public object Context { get; set; }
    }
    /// <summary>
    /// 
    /// </summary>
    [JsonObject]
    public class DownloadSingleRequest : DownloadRequest
    {
        /// <summary>
        /// 
        /// </summary>
        [Required(ErrorMessageResourceType = typeof(CommonMessages), ErrorMessageResourceName = "MSG_CommonRequired")]
        [JsonProperty("fileId")]
        public string FileID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("dispositionType")]
        public string DispositionType { get; set; }
    }
    /// <summary>
    /// 
    /// </summary>
    [JsonObject]
    public class DownloadBatchRequest : DownloadRequest
    {
        /// <summary>
        /// 
        /// </summary>
        [Required(ErrorMessageResourceType = typeof(CommonMessages), ErrorMessageResourceName = "MSG_CommonRequired")]
        [JsonProperty("fileId")]
        public string[] FileID { get; set; }
    }
}
